﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QLBH.DataModel;

namespace QLBH.Model.Controller
{
    public class NganhHangController : QLBHEntityBase<NGANHHANG>
    {
        public static QLBHEntityBase<NGANHHANG> GetInstance()
        {
            return new NganhHangController();
        } 
       public NganhHangController()
           :base()
       {          
       }
       public override NGANHHANG Add(NGANHHANG entity)
       {
           if (FindBy(it => it.NHCODE == entity.NHCODE).FirstOrDefault() != null)
           {
               throw new Exception("Mã ngành hàng đã tồn tại!");
           }
           if (FindBy(it => it.TENNH == entity.TENNH).FirstOrDefault() != null)
           {
               throw new Exception("Tên ngành hàng đã tồn tại!");
           } 
           return base.Add(entity);
       }
       public override NGANHHANG Edit(NGANHHANG entity)
       {
           if (FindBy(it => it.NHCODE == entity.NHCODE && it.ID!=entity.ID).FirstOrDefault() != null)
           {
               throw new Exception("Mã ngành hàng đã tồn tại!");
           }
           if (FindBy(it => it.TENNH == entity.TENNH && it.ID != entity.ID).FirstOrDefault() != null)
           {
               throw new Exception("Tên ngành hàng đã tồn tại!");
           } 
           return base.Edit(entity);
       }
    }
}
